home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / misc / unix / AmiNetGet.lha / AmiNetGet / AmiNetGet18.C next >
Encoding:
C/C++ Source or Header  |  1995-05-29  |  3.9 KB  |  190 lines

  1. //
  2. // Sorry.. This sourcecode is only in Norwegian..
  3. //
  4. // Aminet getter        laget av Michael Husbyn
  5. //
  6. //
  7. // NB: Pipe inn recentfila og pipe ut til scriptfila....
  8. //
  9. // eks:  aminetget < recent > script
  10. //
  11. // Versjon    Forbedringer
  12. //
  13. // 1.8          Stoetter mpg format
  14. // 1.7        Stoetter nytt indeks format (forandring paa lengder)
  15. // 1.6        Stoetter exe ending
  16. // 1.5        Stoetter masse get (frem til #)
  17. //        Stoetter gif datatype
  18. // 1.3        Stoetter jpeg datatype
  19. // 1.2        Stoetter jpg datatype
  20. // 1.1        Stoetter lzh,txt datatypes
  21. // 1.0        Stoetter lha datatype
  22.  
  23. #include <iostream.h>
  24.  
  25. void main(void)
  26. {
  27.   //
  28.   // OPPSETT
  29.   //
  30.  
  31.   // Sett Maate til 1: om du vil ha standard (for hver linje med *)
  32.   //                2: om du vil hente alle frem til # (husk aa ta vekk toppen)
  33.   //
  34.   int Maate;
  35.  
  36.   //
  37.   // **** CHANGE IT TO MEET YOUR NEEDS ****
  38.   Maate = 1;
  39.  
  40.  
  41.   const int Lengde=100;
  42.   char Tekst[Lengde];
  43.   int    Teller;
  44.   int    NavnS= 0;   // Hvor i tekststrengen navnet begynner
  45.   int    NavnE= 19;  // Hvor i tekststrenger navnet slutter
  46.   int    DirS = 20;  // Hvor diret starter
  47.   int    DirE = 29;  // Hvor diret slutter
  48.   int    TilLegg = 1;  // for aa bestemme 1 bokstav
  49.  
  50.   if (Maate==2){
  51.     NavnE--;
  52.     DirS--;
  53.     DirE--;
  54.     TilLegg=0;
  55.     }
  56.  
  57.   // fikse litt hvis man ikke vil ha pr linje med *
  58.   int    HvorLHA=0;
  59.   
  60.   cout << "bin" << endl;
  61.   cout << "prompt" << endl;
  62.   cout << "verbose" << endl;
  63.  
  64.   cin.getline (Tekst, Lengde);
  65.  
  66.   while (Tekst[0] !='#' ){
  67.     if (Tekst[0]=='*' || Maate==2){
  68.       cout << "cd /pub/aminet/";
  69.  
  70.       //
  71.       // Finn og skriv inn diret du maa cd'e
  72.       //
  73.  
  74.       for (Teller=DirS ; Teller <= DirE ; Teller++){
  75.         cout << Tekst[Teller];
  76.         } // for
  77.  
  78.       cout << endl;
  79.  
  80.       //
  81.       // Finn hvor .lha endingen begynner
  82.       //
  83.  
  84.       int Ferdig=0;
  85.       Teller=0;
  86.       HvorLHA=0;
  87.       for (Teller=NavnS ; Teller <= NavnE-3 ; Teller++){
  88.           //
  89.     // LHA
  90.     //
  91.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='l' &&
  92.             Tekst[Teller+2]=='h' && Tekst[Teller+3]=='a'){
  93.           Ferdig=1;
  94.           } // if
  95.       //
  96.       // Lzh
  97.       //
  98.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='l' &&
  99.             Tekst[Teller+2]=='z' && Tekst[Teller+3]=='h'){
  100.           Ferdig=1;
  101.       }
  102.       //
  103.       // txt
  104.       //
  105.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='t' &&
  106.         Tekst[Teller+2]=='x' && Tekst[Teller+3]=='t'){
  107.           Ferdig=1;
  108.       }
  109.     //
  110.     // dms
  111.     //
  112.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='d' &&
  113.         Tekst[Teller+2]=='m' && Tekst[Teller+3]=='s'){
  114.           Ferdig=1;
  115.       }
  116.     //
  117.     // JPG
  118.     //
  119.  
  120.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='j' &&
  121.         Tekst[Teller+2]=='p' && Tekst[Teller+3]=='g'){
  122.           Ferdig=1;
  123.       }
  124.  
  125.     //
  126.     // EXE
  127.     //
  128.  
  129.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='e' &&
  130.         Tekst[Teller+2]=='x' && Tekst[Teller+3]=='e'){
  131.           Ferdig=1;
  132.       }
  133.  
  134.     //
  135.     // GIF
  136.     //
  137.  
  138.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='g' &&
  139.         Tekst[Teller+2]=='i' && Tekst[Teller+3]=='f'){
  140.           Ferdig=1;
  141.       }
  142.     //
  143.     // GIF
  144.     //
  145.  
  146.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='g' &&
  147.         Tekst[Teller+2]=='i' && Tekst[Teller+3]=='f'){
  148.           Ferdig=1;
  149.       }
  150.     //
  151.     // mpg 
  152.     //
  153.  
  154.         if (Tekst[Teller]=='.' && Tekst[Teller+1]=='m' &&
  155.         Tekst[Teller+2]=='p' && Tekst[Teller+3]=='g'){
  156.           Ferdig=1;
  157.       }
  158.  
  159.     //
  160.     // JPEG
  161.     //
  162.     if (Teller < NavnE-3) {
  163.       if (Tekst[Teller]=='.' && Tekst[Teller+1]=='j' &&
  164.         Tekst[Teller+2]=='p' && Tekst[Teller+3]=='e' && Tekst[Teller+4]=='g'){
  165.              Ferdig=1;
  166.          }
  167.       }
  168.         if (Ferdig==0){
  169.           HvorLHA ++;
  170.           } // if
  171.         } // for
  172.  
  173.       // Skriv ut mget setningen
  174.  
  175.       cout << "mget ";
  176.       for (Teller=NavnS+TilLegg ; Teller <= HvorLHA ; Teller++){
  177.         cout << Tekst[Teller];
  178.         } // for
  179.  
  180.       cout << "*" << endl;    // Skriv ut slik at det blir mget
  181.  
  182.       } // if
  183.       cin.getline (Tekst, Lengde);
  184.  
  185.     } // while
  186.  
  187.     cout << "bye" << endl;  // vi er jo ferdige!
  188. }// main
  189.  
  190.